\hypertarget{structfilter_b_l_m_s___c_p_u}{
\section{\-Dokumentacja struktury filter\-B\-L\-M\-S\-\_\-\-C\-P\-U}
\label{structfilter_b_l_m_s___c_p_u}\index{filter\-B\-L\-M\-S\-\_\-\-C\-P\-U@{filter\-B\-L\-M\-S\-\_\-\-C\-P\-U}}
}


\-Filtr \-B\-L\-M\-S -\/ wersja \-C\-P\-U, \-F\-F\-T na \-C\-P\-U (biblioteka \-F\-F\-T\-W).  




{\ttfamily \#include $<$filter\-B\-L\-M\-S\-\_\-\-C\-P\-U.\-h$>$}

\subsection*{\-Metody publiczne}
\begin{DoxyCompactItemize}
\item 
\hyperlink{structfilter_b_l_m_s___c_p_u_a0dbd7ca4c4490a2e4d46493333e9ac00}{filter\-B\-L\-M\-S\-\_\-\-C\-P\-U} (int \-Nu, int \-Msize, int \-Bsize, float mi\-Param, float beta\-Param, \hyperlink{struct_signal_reader_writer}{\-Signal\-Reader\-Writer} \-S\-R\-W)
\item 
\hyperlink{structfilter_b_l_m_s___c_p_u_a3a7829153b66730efd16b4ea59dc2416}{$\sim$filter\-B\-L\-M\-S\-\_\-\-C\-P\-U} ()
\item 
void \hyperlink{structfilter_b_l_m_s___c_p_u_aef554f7a887d9f06f78ad28a56031379}{data\-Filtering} (int \-Nu)
\item 
void \hyperlink{structfilter_b_l_m_s___c_p_u_aad4aed623c1fb52bf3b9714d890bf0c3}{free\-Memory} ()
\end{DoxyCompactItemize}
\subsection*{\-Atrybuty publiczne}
\begin{DoxyCompactItemize}
\item 
\hypertarget{structfilter_b_l_m_s___c_p_u_af2200873559aae3d4295425bc2a3ac7a}{
int \hyperlink{structfilter_b_l_m_s___c_p_u_af2200873559aae3d4295425bc2a3ac7a}{\-M}}
\label{structfilter_b_l_m_s___c_p_u_af2200873559aae3d4295425bc2a3ac7a}

\begin{DoxyCompactList}\small\item\em długość filtru \end{DoxyCompactList}\item 
\hypertarget{structfilter_b_l_m_s___c_p_u_a56022637813a85ea0cc369a0ef78423c}{
int \hyperlink{structfilter_b_l_m_s___c_p_u_a56022637813a85ea0cc369a0ef78423c}{\-B}}
\label{structfilter_b_l_m_s___c_p_u_a56022637813a85ea0cc369a0ef78423c}

\begin{DoxyCompactList}\small\item\em długość bloku danych \end{DoxyCompactList}\item 
\hypertarget{structfilter_b_l_m_s___c_p_u_af17c8f40c073331e170cb1b8b0f63965}{
float \hyperlink{structfilter_b_l_m_s___c_p_u_af17c8f40c073331e170cb1b8b0f63965}{mi}}
\label{structfilter_b_l_m_s___c_p_u_af17c8f40c073331e170cb1b8b0f63965}

\begin{DoxyCompactList}\small\item\em parametr mi filtru \end{DoxyCompactList}\item 
\hypertarget{structfilter_b_l_m_s___c_p_u_a70ee2b7332408a9d0b219957eaacbfba}{
float \hyperlink{structfilter_b_l_m_s___c_p_u_a70ee2b7332408a9d0b219957eaacbfba}{beta}}
\label{structfilter_b_l_m_s___c_p_u_a70ee2b7332408a9d0b219957eaacbfba}

\begin{DoxyCompactList}\small\item\em parametr beta filtru \end{DoxyCompactList}\item 
\hypertarget{structfilter_b_l_m_s___c_p_u_a4200239f957245a4efdb56ec6e54abfe}{
cudacomplex $\ast$ \hyperlink{structfilter_b_l_m_s___c_p_u_a4200239f957245a4efdb56ec6e54abfe}{u}}
\label{structfilter_b_l_m_s___c_p_u_a4200239f957245a4efdb56ec6e54abfe}

\begin{DoxyCompactList}\small\item\em sygnał wejściowy u (input) \end{DoxyCompactList}\item 
\hypertarget{structfilter_b_l_m_s___c_p_u_abe2c93b547379b1a19a3e4acf7dcb374}{
cudacomplex $\ast$ \hyperlink{structfilter_b_l_m_s___c_p_u_abe2c93b547379b1a19a3e4acf7dcb374}{d}}
\label{structfilter_b_l_m_s___c_p_u_abe2c93b547379b1a19a3e4acf7dcb374}

\begin{DoxyCompactList}\small\item\em sygnał wejściowy d (desired) \end{DoxyCompactList}\item 
\hypertarget{structfilter_b_l_m_s___c_p_u_ad22b012ba4ab4c97bdad574242528dbe}{
cudacomplex $\ast$ \hyperlink{structfilter_b_l_m_s___c_p_u_ad22b012ba4ab4c97bdad574242528dbe}{e}}
\label{structfilter_b_l_m_s___c_p_u_ad22b012ba4ab4c97bdad574242528dbe}

\begin{DoxyCompactList}\small\item\em sygnał wyjściowy e (error) \end{DoxyCompactList}\item 
\hypertarget{structfilter_b_l_m_s___c_p_u_ab1eb15f24537c2028395a9fbaaf8006e}{
cudacomplex $\ast$ \hyperlink{structfilter_b_l_m_s___c_p_u_ab1eb15f24537c2028395a9fbaaf8006e}{buf\-\_\-u}}
\label{structfilter_b_l_m_s___c_p_u_ab1eb15f24537c2028395a9fbaaf8006e}

\begin{DoxyCompactList}\small\item\em bufor zawierajacy dwa bloki sygnalu u \end{DoxyCompactList}\item 
\hypertarget{structfilter_b_l_m_s___c_p_u_a76ae6f251e6161bb067ebd7a85ac8127}{
cudacomplex $\ast$ \hyperlink{structfilter_b_l_m_s___c_p_u_a76ae6f251e6161bb067ebd7a85ac8127}{buf\-\_\-d}}
\label{structfilter_b_l_m_s___c_p_u_a76ae6f251e6161bb067ebd7a85ac8127}

\begin{DoxyCompactList}\small\item\em blok/bufor (dlugosc 2\-B) sygnalu d \end{DoxyCompactList}\item 
\hypertarget{structfilter_b_l_m_s___c_p_u_a1d96ef213ba7ff16e9cb5ab3517f5178}{
cudacomplex $\ast$ \hyperlink{structfilter_b_l_m_s___c_p_u_a1d96ef213ba7ff16e9cb5ab3517f5178}{buf\-\_\-y}}
\label{structfilter_b_l_m_s___c_p_u_a1d96ef213ba7ff16e9cb5ab3517f5178}

\begin{DoxyCompactList}\small\item\em blok/bufor (dlugosc 2\-B ze wzgledu na pozniejsze dzialanie ifft) sygnalu wyjsciowego y \end{DoxyCompactList}\item 
\hypertarget{structfilter_b_l_m_s___c_p_u_af7972e616d41a3a6f40b25e556ed25f0}{
cudacomplex $\ast$ \hyperlink{structfilter_b_l_m_s___c_p_u_af7972e616d41a3a6f40b25e556ed25f0}{buf\-\_\-e}}
\label{structfilter_b_l_m_s___c_p_u_af7972e616d41a3a6f40b25e556ed25f0}

\begin{DoxyCompactList}\small\item\em blok/bufor (dlugosc 2\-B) sygnalu e \end{DoxyCompactList}\item 
\hypertarget{structfilter_b_l_m_s___c_p_u_a6d46b86cb90dc29934a811fbb9650299}{
cudacomplex $\ast$ \hyperlink{structfilter_b_l_m_s___c_p_u_a6d46b86cb90dc29934a811fbb9650299}{\-U}}
\label{structfilter_b_l_m_s___c_p_u_a6d46b86cb90dc29934a811fbb9650299}

\begin{DoxyCompactList}\small\item\em bufor zawierajacy dwa bloki sygnalu u po dzialaniu \-F\-F\-T \end{DoxyCompactList}\item 
\hypertarget{structfilter_b_l_m_s___c_p_u_a85fd01af9bdef98eecdbe33f8535fabc}{
cudacomplex $\ast$ \hyperlink{structfilter_b_l_m_s___c_p_u_a85fd01af9bdef98eecdbe33f8535fabc}{\-U\-\_\-sub}}
\label{structfilter_b_l_m_s___c_p_u_a85fd01af9bdef98eecdbe33f8535fabc}

\begin{DoxyCompactList}\small\item\em bufory 'podsygnalow' wejsciowych po \-F\-F\-T (2\-B wektorow o dlugosci \-M/\-B w postaci jednego wektora\-: wymagania fftw) \end{DoxyCompactList}\item 
\hypertarget{structfilter_b_l_m_s___c_p_u_a386cf33f0bb5ace10a66fc2547e59e10}{
cudacomplex $\ast$ \hyperlink{structfilter_b_l_m_s___c_p_u_a386cf33f0bb5ace10a66fc2547e59e10}{\-Y}}
\label{structfilter_b_l_m_s___c_p_u_a386cf33f0bb5ace10a66fc2547e59e10}

\begin{DoxyCompactList}\small\item\em probki 'podsygnalow' wyjsciowych przed \-I\-F\-F\-T \end{DoxyCompactList}\item 
\hypertarget{structfilter_b_l_m_s___c_p_u_a4fd93e96a774244ec53a688a2723c621}{
cudacomplex $\ast$ \hyperlink{structfilter_b_l_m_s___c_p_u_a4fd93e96a774244ec53a688a2723c621}{\-E}}
\label{structfilter_b_l_m_s___c_p_u_a4fd93e96a774244ec53a688a2723c621}

\begin{DoxyCompactList}\small\item\em bufor zawierajacy dwa bloki sygnalu e po dzialaniu \-F\-F\-T \end{DoxyCompactList}\item 
\hypertarget{structfilter_b_l_m_s___c_p_u_a13dcce31bb4a746dfa3d6dc8c7333a7a}{
cudacomplex $\ast$ \hyperlink{structfilter_b_l_m_s___c_p_u_a13dcce31bb4a746dfa3d6dc8c7333a7a}{lc}}
\label{structfilter_b_l_m_s___c_p_u_a13dcce31bb4a746dfa3d6dc8c7333a7a}

\begin{DoxyCompactList}\small\item\em wagi filtrów \end{DoxyCompactList}\item 
\hypertarget{structfilter_b_l_m_s___c_p_u_afd799347ecd13f942834bcbdc2385ea6}{
float $\ast$ \hyperlink{structfilter_b_l_m_s___c_p_u_afd799347ecd13f942834bcbdc2385ea6}{lambda}}
\label{structfilter_b_l_m_s___c_p_u_afd799347ecd13f942834bcbdc2385ea6}

\begin{DoxyCompactList}\small\item\em parametry lambda \end{DoxyCompactList}\item 
\hypertarget{structfilter_b_l_m_s___c_p_u_ac2952c1f79013f6a283f8f47e22bdfaa}{
fftwf\-\_\-plan \hyperlink{structfilter_b_l_m_s___c_p_u_ac2952c1f79013f6a283f8f47e22bdfaa}{fftwf\-Plan\-\_\-\-U}}
\label{structfilter_b_l_m_s___c_p_u_ac2952c1f79013f6a283f8f47e22bdfaa}

\begin{DoxyCompactList}\small\item\em plan \-F\-F\-T \end{DoxyCompactList}\item 
\hypertarget{structfilter_b_l_m_s___c_p_u_a92cfcbaaab38a06fc73483490c9e2bb5}{
fftwf\-\_\-plan \hyperlink{structfilter_b_l_m_s___c_p_u_a92cfcbaaab38a06fc73483490c9e2bb5}{fftwf\-Plan\-\_\-\-Y}}
\label{structfilter_b_l_m_s___c_p_u_a92cfcbaaab38a06fc73483490c9e2bb5}

\begin{DoxyCompactList}\small\item\em plan \-I\-F\-F\-T \end{DoxyCompactList}\item 
\hypertarget{structfilter_b_l_m_s___c_p_u_af2d44cd2811503c27e69e8ee29baab02}{
fftwf\-\_\-plan \hyperlink{structfilter_b_l_m_s___c_p_u_af2d44cd2811503c27e69e8ee29baab02}{fftwf\-Plan\-\_\-\-E}}
\label{structfilter_b_l_m_s___c_p_u_af2d44cd2811503c27e69e8ee29baab02}

\begin{DoxyCompactList}\small\item\em plan \-F\-F\-T \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{\-Opis szczegółowy}
\-Filtr \-B\-L\-M\-S -\/ wersja \-C\-P\-U, \-F\-F\-T na \-C\-P\-U (biblioteka \-F\-F\-T\-W). 

\-Opisuje filtr blokowy działający w oparciu o platformę \-C\-P\-U. 

\subsection{\-Dokumentacja konstruktora i destruktora}
\hypertarget{structfilter_b_l_m_s___c_p_u_a0dbd7ca4c4490a2e4d46493333e9ac00}{
\index{filter\-B\-L\-M\-S\-\_\-\-C\-P\-U@{filter\-B\-L\-M\-S\-\_\-\-C\-P\-U}!filter\-B\-L\-M\-S\-\_\-\-C\-P\-U@{filter\-B\-L\-M\-S\-\_\-\-C\-P\-U}}
\index{filter\-B\-L\-M\-S\-\_\-\-C\-P\-U@{filter\-B\-L\-M\-S\-\_\-\-C\-P\-U}!filterBLMS_CPU@{filter\-B\-L\-M\-S\-\_\-\-C\-P\-U}}
\subsubsection[{filter\-B\-L\-M\-S\-\_\-\-C\-P\-U}]{\setlength{\rightskip}{0pt plus 5cm}filter\-B\-L\-M\-S\-\_\-\-C\-P\-U\-::filter\-B\-L\-M\-S\-\_\-\-C\-P\-U (
\begin{DoxyParamCaption}
\item[{int}]{\-Nu, }
\item[{int}]{\-Msize, }
\item[{int}]{\-Bsize, }
\item[{float}]{mi\-Param, }
\item[{float}]{beta\-Param, }
\item[{{\bf \-Signal\-Reader\-Writer}}]{\-S\-R\-W}
\end{DoxyParamCaption}
)}}
\label{structfilter_b_l_m_s___c_p_u_a0dbd7ca4c4490a2e4d46493333e9ac00}
\-Konstruktor struktury \hyperlink{structfilter_b_l_m_s___c_p_u}{filter\-B\-L\-M\-S\-\_\-\-C\-P\-U}.\par
 \-Alokacja pamięci, inicjalizacja zmiennych, wyznaczenie planów \-F\-F\-T.


\begin{DoxyParams}{\-Parametry}
{\em \-Nu} & -\/ liczba próbek sygnału \\
\hline
{\em \-Msize} & -\/ długość filtru \\
\hline
{\em \-Bsize} & -\/ długość bloku danych \\
\hline
{\em mi\-Param} & -\/ parametr mi filtru \\
\hline
{\em beta\-Param} & -\/ parametr beta filtru \\
\hline
{\em \-S\-R\-W} & -\/ struktura zawierająca sygnały wejściowe i wyjściowe \\
\hline
\end{DoxyParams}
\hypertarget{structfilter_b_l_m_s___c_p_u_a3a7829153b66730efd16b4ea59dc2416}{
\index{filter\-B\-L\-M\-S\-\_\-\-C\-P\-U@{filter\-B\-L\-M\-S\-\_\-\-C\-P\-U}!$\sim$filter\-B\-L\-M\-S\-\_\-\-C\-P\-U@{$\sim$filter\-B\-L\-M\-S\-\_\-\-C\-P\-U}}
\index{$\sim$filter\-B\-L\-M\-S\-\_\-\-C\-P\-U@{$\sim$filter\-B\-L\-M\-S\-\_\-\-C\-P\-U}!filterBLMS_CPU@{filter\-B\-L\-M\-S\-\_\-\-C\-P\-U}}
\subsubsection[{$\sim$filter\-B\-L\-M\-S\-\_\-\-C\-P\-U}]{\setlength{\rightskip}{0pt plus 5cm}filter\-B\-L\-M\-S\-\_\-\-C\-P\-U\-::$\sim$filter\-B\-L\-M\-S\-\_\-\-C\-P\-U (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{structfilter_b_l_m_s___c_p_u_a3a7829153b66730efd16b4ea59dc2416}
\-Destruktor struktury \hyperlink{structfilter_b_l_m_s___c_p_u}{filter\-B\-L\-M\-S\-\_\-\-C\-P\-U}. 

\subsection{\-Dokumentacja funkcji składowych}
\hypertarget{structfilter_b_l_m_s___c_p_u_aef554f7a887d9f06f78ad28a56031379}{
\index{filter\-B\-L\-M\-S\-\_\-\-C\-P\-U@{filter\-B\-L\-M\-S\-\_\-\-C\-P\-U}!data\-Filtering@{data\-Filtering}}
\index{data\-Filtering@{data\-Filtering}!filterBLMS_CPU@{filter\-B\-L\-M\-S\-\_\-\-C\-P\-U}}
\subsubsection[{data\-Filtering}]{\setlength{\rightskip}{0pt plus 5cm}void filter\-B\-L\-M\-S\-\_\-\-C\-P\-U\-::data\-Filtering (
\begin{DoxyParamCaption}
\item[{int}]{\-Nu}
\end{DoxyParamCaption}
)}}
\label{structfilter_b_l_m_s___c_p_u_aef554f7a887d9f06f78ad28a56031379}
\-Metoda przeprowadzająca filtrację adaptacyjną na \-C\-P\-U.


\begin{DoxyParams}{\-Parametry}
{\em \-Nu} & -\/ liczba próbek sygnału \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Zwraca}
void 
\end{DoxyReturn}
odczytywanie bloku danych \hypertarget{structfilter_b_l_m_s___c_p_u_aad4aed623c1fb52bf3b9714d890bf0c3}{
\index{filter\-B\-L\-M\-S\-\_\-\-C\-P\-U@{filter\-B\-L\-M\-S\-\_\-\-C\-P\-U}!free\-Memory@{free\-Memory}}
\index{free\-Memory@{free\-Memory}!filterBLMS_CPU@{filter\-B\-L\-M\-S\-\_\-\-C\-P\-U}}
\subsubsection[{free\-Memory}]{\setlength{\rightskip}{0pt plus 5cm}void filter\-B\-L\-M\-S\-\_\-\-C\-P\-U\-::free\-Memory (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{structfilter_b_l_m_s___c_p_u_aad4aed623c1fb52bf3b9714d890bf0c3}
\-Metoda zwalniająca pamięć po strukturze \hyperlink{structfilter_b_l_m_s___c_p_u}{filter\-B\-L\-M\-S\-\_\-\-C\-P\-U}.

\begin{DoxyReturn}{\-Zwraca}
void 
\end{DoxyReturn}


\-Dokumentacja dla tej struktury została wygenerowana z plików\-:\begin{DoxyCompactItemize}
\item 
\-C\-:/\-Users/boski/\-Documents/\-Visual Studio 2008/\-Projects/cuda/blms/\hyperlink{filter_b_l_m_s___c_p_u_8h}{filter\-B\-L\-M\-S\-\_\-\-C\-P\-U.\-h}\item 
\-C\-:/\-Users/boski/\-Documents/\-Visual Studio 2008/\-Projects/cuda/blms/\hyperlink{filter_b_l_m_s___c_p_u_8cu}{filter\-B\-L\-M\-S\-\_\-\-C\-P\-U.\-cu}\end{DoxyCompactItemize}
